public class Gun
{
    public GunType Type { get; set; }
    /// <summary>
    /// Attack Damage
    /// </summary>
    public float AD { get; set; }
    /// <summary>
    /// Cooldown
    /// </summary>
    public float CD { get; set; }
    /// <summary>
    /// 弹夹容量
    /// </summary>
    public int MagazionSize { get; set; }
    /// <summary>
    /// 背包中剩余弹量
    /// </summary>
    public int AmmoCapacity { get; set; }
    /// <summary>
    /// 弹夹中剩余弹量
    /// </summary>
    public int CurrentAmmo { get; set; }
    /// <summary>
    /// 攻击范围
    /// </summary>
    public float Range { get; set; }
    /// <summary>
    /// 水平后坐力
    /// </summary>
    public float HorizontalRecoil { get; set; }
    /// <summary>
    /// 垂直后坐力
    /// </summary>
    public float VerticalRecoil { get; set; }

    public Gun()
    {
        
    }
}

public enum GunType
{
    /// <summary>
    /// 点射（半自动）
    /// </summary>
    Burst,
    /// <summary>
    /// 自动
    /// </summary>
    Automatic,
    /// <summary>
    /// 突击步枪
    /// 可实现半自动和全自动切换，如AK-47
    /// </summary>
    AssaultRifle
}